Reasoning About Deterministic Concurrent Functional I/O

نویسندگان

  • Malcolm Dowse
  • Andrew Butterfield
  • Marko C. J. D. van Eekelen
چکیده

This paper develops a language for reasoning about concurrent functional I/O. We assume that the API is specified as statetransformers on a single world state. We then prove that under certain conditions evaluation in this language is deterministic, and give some examples. All properties were machine-verified using the Sparkle proofassistant and using Core-Clean as a meta-language.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Thesis Proposal Verifying Concurrent Randomized Algorithms

Concurrency and randomization are two programming features that are notoriously difficult to use correctly. This is because programs that use them no longer behave deterministically, so programmers must take into account the set of all possible interactions and random choices that may occur. A common approach to reasoning about complex programs is to use relational or refinement reasoning: to u...

متن کامل

A Toolkit for Structuring I / O Malcolm Dowse and Andrew Butterfield

We give a quick presentation of the language CURIO, which gives a semantics to concurrent I/O in pure functional languages by way of modelling the API directly. Central to CURIO is the fact that an I/O model must obey a pre-condition – some broad axiomatic properties – so that program execution can be deterministic. We then present some mechanisms for modelling the dynamic allocation of data, c...

متن کامل

Closer to Reliable Software: Verifying Functional Behaviour of Concurrent Programs

Static formal verification techniques are an e↵ective method for verification of software. They exploit the advantages of formal methods to statically prove that the implementation of a program satisfies its formally written specification. This makes formal verification especially powerful: any execution of the program is guaranteed to behave correctly. Therefore, these techniques are especiall...

متن کامل

Reasoning about Actual and Hypothetical Occurances of Concurrent and Non-deterministic Actions

We propose extension L 2 of the action description language L 1 that can express both actual and hypothetical situations, concurrent execution of actions, observations of the truth values of uents in these situations (as opposed to hypothetical values of uents expressible in A and A C), observations of actual occurrences of (possibly non-deterministic combination of) actions. The corresponding ...

متن کامل

Fractional Permissions and Non-Deterministic Evaluators in Interval Temporal Logic

We propose Interval Temporal Logic as a basis for reasoning about concurrent programs with fine-grained atomicity due to the generality it provides over reasoning with standard pre/post-state relations. To simplify the semantics of parallel composition over intervals, we use fractional permissions, which allows one to ensure that conflicting reads and writes to a variable do not occur simultane...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2004